Many institutions and educational providers rely on computer systems for teaching classes and providing other types of services. These computer systems often rely on different providers of services to provide them with, for example, authorization to access their computer system, user authentication, grouping of various users into work groups, classes and the like, scoring or assessment of exams or other items, social networking, data storage and other user functions. Institutional and educational deployments of computer systems are different, and have existing underlying technological provider investments which are hard to change and difficult to integrate and use.